Generic Attribute

نویسنده

  • João Saraiva
چکیده

This paper introduces generic attribute grammars which provide support for genericity, reusability and modularity in attribute grammars. A generic attribute grammar is a component that is easily reused, composed and understood. Attribute grammar based systems may be constructed out of a set of generic components, that can be analysed and compiled separately. We show how to generate deforestated attribute evaluators for those components. As a result, redundant intermediate data structures used to glue diierent components are eliminated. 1. Motivation Recent developments in modern programming languages are providing powerful mechanisms like modularity and polymorphic type systems for abstracting from computations and for structuring programs. Modern applications are nowadays designed and implemented as combinations of several generic components, all physically and conceptually separated from each other. The beneets of such an organization are ease of speciication, clearness of description, interchangeability between diierent plug-compatiblee components, reuse of components across applications and separate analysis/compilation of components. Consider for example the construction of a compiler for a particular language. Such a compiler may be constructed out of a set of generic components, each of which describes a particular subproblem such as name analysis, type checking, register allocation, etc. Furthermore, each component may describe the properties of a subproblem for a large number of languages and not just for the language at hand: a single component may describe the name analysis task for block structured languages. Thus, this oo the shelf component can be re-used across applications. Generally, those components are combined by introducing intermediate data structures that act as the glue, binding the components of the application together: a component constructs (produces) an intermediate data structure which is used (consumed) by other components. In a compiler setting the intermediate structure is the abstract syntax tree which glues the compiler task components. Increasing the number of components means simpler and more modular and maintenable code, whereas decreasing the number of components leads to greater runtime eeciency since fewer intermediate data structures have to be used. The long-sought solution to this tension between modularity and reuse on the one hand, and eeciency on the other, is to increase the amount of analysis and program transformation the compiler is performing so that the programmer may write programs as a set of components, conndent that the compiler can fuse the components together, removing redundant intermediate data structures. 185

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Genre Analysis of Persian Research Article Abstracts: Communicative Moves and Author Identity

Most studies within the area of genre analysis, particularly those conducted in Iran, have exclusively used text analysis. While such investigations have led to important understandings of generic features of texts, it can be argued that incorporating interview data for triangulation can lead to better understanding of generic features of texts. Along this line, this paper reports the results o...

متن کامل

A Framework for Optimal Attribute Evaluation and Selection in Hesitant Fuzzy Environment Based on Enhanced Ordered Weighted Entropy Approach for Medical Dataset

Background: In this paper, a generic hesitant fuzzy set (HFS) model for clustering various ECG beats according to weights of attributes is proposed. A comprehensive review of the electrocardiogram signal classification and segmentation methodologies indicates that algorithms which are able to effectively handle the nonstationary and uncertainty of the signals should be used for ECG analysis. Ex...

متن کامل

Generic Programming by Program Composition (position Paper)

Recently, generic programming becomes of a major interest in several programming paradigms. A recurrent idea to achieve genericity is to abstract computations from their representative data structures. This allows these generic speciications to be instantiated onto a large number of neighboring data structures. Moreover the program can be adapted when the data structures have to evolve. Polytyp...

متن کامل

A Generic Framework for Genericity

Recently, generic programming becomes of a major interest in several programming paradigms. A recurrent idea to achieve genericity is to specify algorithms on their convenient data structure, and to allow these speciications to be instantiated onto a large number of neighboring data structures. Polytypic programming, shapely types and generic attribute grammars are generic programming methods r...

متن کامل

Attribute-Based Authenticated Key Exchange

We introduce the concept of attribute-based authenticated key exchange (AB-AKE) within the framework of ciphertext policy attribute-based systems. A notion of AKE-security for AB-AKE is presented based on the security models for group key exchange protocols and also taking into account the security requirements generally considered in the ciphertext policy attribute-based setting. We also exten...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999